Using messaging associated with adaptive bitrate streaming to perform media monitoring for mobile platforms

ABSTRACT

Methods, apparatus, systems, storage media, etc., to perform media monitoring for mobile platforms using messaging associated with adaptive bitrate streaming are disclosed. An example media platform disclosed herein is to detect an outgoing message to be sent by the mobile platform to stream media in accordance with an online streaming protocol, and associate resource identifier information included in the outgoing message with a time value. The disclosed example media platform is also to transmit the outgoing message to a first server to cause the media to be streamed to the mobile platform, and transmit the resource identifier information and the time value to a second server different from the first server to cause a media impression associated with the mobile platform to be monitored.

RELATED APPLICATION(S)

This patent arises from a continuation of U.S. Pat. Application No.17/565,186 (now U.S. Pat. No. ), which is titled “USING MESSAGINGASSOCIATED WITH ADAPTIVE BITRATE STREAMING TO PERFORM MEDIA MONITORINGFOR MOBILE PLATFORMS,” and which was filed on Dec. 29, 2021, which is acontinuation of U.S. Pat. Application No. 17/107,303 (now U.S. Pat. No.11,218,528), which is titled “USING MESSAGING ASSOCIATED WITH ADAPTIVEBITRATE STREAMING TO PERFORM MEDIA MONITORING FOR MOBILE PLATFORMS,” andwhich was filed on Nov. 30, 2020, which is a continuation of U.S. Pat.Application No. 16/457,440 (now U.S. Pat. No. 10,855,735), which istitled “USING MESSAGING ASSOCIATED WITH ADAPTIVE BITRATE STREAMING TOPERFORM MEDIA MONITORING FOR MOBILE PLATFORMS,” and which was filed onJun. 28, 2019, which is a continuation of U.S. Pat. Application No.15/920,053 (now U.S. Pat. No. 10,341,401), which is titled “USINGMESSAGING ASSOCIATED WITH ADAPTIVE BITRATE STREAMING TO PERFORM MEDIAMONITORING FOR MOBILE PLATFORMS,” and which was filed on Mar. 13, 2018,which is a continuation of U.S. Pat. Application No. 14/473,592 (nowU.S. Pat. No. 9,923,942), which is titled “USING MESSAGING ASSOCIATEDWITH ADAPTIVE BITRATE STREAMING TO PERFORM MEDIA MONITORING FOR MOBILEPLATFORMS,” and which was filed on Aug. 29, 2014. Priority to U.S. Pat.Application No. 14/473,592, U.S. Pat. Application No. 15/920,053, U.S.Pat. Application No. 16/457,440, U.S. Pat. Application No. 17/107,303and U.S. Pat. Application No. 17/565,186 is hereby expressly claimed.U.S. Pat. Application No. 14/473,592, U.S. Pat. Application No.15/920,053, U.S. Pat. Application No. 16/457,440, U.S. Pat. ApplicationNo. 17/107,303 and U.S. Pat. Application No. 17/565,186 are herebyincorporated by reference in their respective entireties.

FIELD OF THE DISCLOSURE

This disclosure relates generally to media monitoring and, moreparticularly, to using messaging associated with adaptive bitratestreaming to perform media monitoring for mobile platforms.

BACKGROUND

The use of mobile platforms, such as smartphones, tablet computers,notebook computers, etc., to present media, such as media content, mediaadvertisements, etc., has become commonplace. Accordingly, enhancingaudience measurement campaigns to include monitoring of mediaimpressions, such as impressions related to presentations of mediacontent, media advertisements, etc., on mobile platforms can be valuableto content providers, advertisers, etc. To increase the value of theaudience ratings data obtained from such audience measurement campaigns,audience measurement entities endeavor to augment media impression datawith demographic information concerning the audience of the mediaimpressions. Prior audience measurement techniques typically rely onmonitoring statistically selected panels of audience members to obtainthe demographic information for inclusion in the audience ratings data.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a first example environment of useincluding a first example audience measurement system to perform mediamonitoring for mobile platforms using messaging associated with adaptivebitrate streaming as disclosed herein.

FIGS. 2A-C depict an example procedure to perform media monitoring formobile platforms using messaging associated with adaptive bitratestreaming in the first example environment of use of FIG. 1 .

FIG. 3 is a block diagram of a second example environment of useincluding a second example audience measurement system to perform mediamonitoring for mobile platforms using messaging associated with adaptivebitrate streaming as disclosed herein.

FIG. 4 is a block diagram of an example implementation of the meter ofFIG. 1 , which is to monitor the example mobile platform to detect andreport messaging data associated with adaptive bitrate streaming ofmedia to the mobile platform.

FIG. 5 is a block diagram of an example implementation of the proxyserver of FIG. 3 , which is to detect and report messaging dataassociated with adaptive bitrate streaming of media to mobileplatform(s).

FIG. 6 is a block diagram of an example implementation of the audiencemeasurement entity server of FIGS. 1 and/or 3 , which is to collectmessaging data associated with adaptive bitrate streaming and to use themessaging data to monitor media on mobile platform(s).

FIG. 7 is a block diagram of an example implementation of the operationssupport system of FIGS. 1 and/or 3 , which is to retrieve serviceprovider data corresponding to messaging data associated with adaptivebitrate streaming and to return such provider data to an audiencemeasurement entity for use in monitoring media on mobile platform(s).

FIG. 8 is a flowchart representative of example machine readableinstructions that may be executed to implement the example meter of FIG.4 .

FIG. 9 is a flowchart representative of example machine readableinstructions that may be executed to implement the example proxy serverof FIG. 5 .

FIG. 10 is a flowchart representative of example machine readableinstructions that may be executed to implement the example audiencemeasurement entity server of FIG. 6 .

FIG. 11 is a flowchart representative of example machine readableinstructions that may be executed to implement the example operationssupport system of FIG. 7 .

FIG. 12 is a block diagram of an example processor platform that mayexecute the example machine readable instructions of FIGS. 8-10 and/or11 to implement the example meter of FIG. 4 , the example proxy serverof FIG. 5 , the example audience measurement entity server of FIG. 6 ,the example operations support system of FIG. 7 and/or the examplesystems of FIGS. 1 and/or 3 .

Wherever possible, the same reference numbers will be used throughoutthe drawing(s) and accompanying written description to refer to the sameor like parts, elements, etc.

DETAILED DESCRIPTION

Methods, apparatus, systems, storage media, etc., to perform mediamonitoring for mobile platforms using messaging associated with adaptivebitrate streaming are disclosed herein. Example methods disclosed hereinto monitor media on a mobile platform include accessing a first uniformresource locator (URL) included in a first message originated by themobile platform to stream first media according to an adaptive bitratestreaming protocol. Such disclosed example methods also includerequesting network log information corresponding to the first URL from aservice provider providing network access for the mobile platform. Suchdisclosed example methods further include monitoring presentation of thefirst media on the mobile platform using the network log information.

In some such disclosed example methods, the network log informationincludes (1) a timestamp corresponding to when the first messageincluding the first URL was logged by the network, and/or (2) locationinformation specifying a location of the mobile platform at a time whenthe first message including the first URL was logged by the network.Additionally or alternatively, some such disclosed example methodsfurther include obtaining demographic information, in addition to thenetwork log information, in response to providing the first URL to theservice provider. In some such examples, the network log information andthe demographic information omit personal information related to asubscriber associated with the mobile platform.

Additionally or alternatively, in some such disclosed example methods,the requesting of the network log information includes sending a requestincluding the first URL and a time range associated with when the firstURL was detected to the service provider.

Additionally or alternatively, in some such disclosed example methods,monitoring the presentation of the first media on the mobile platformincludes combining the network log information with media identificationinformation associated with the first URL

Additionally or alternatively, some such disclosed example methodsfurther include requesting, from the service provider, network loginformation corresponding to other URLs included in subsequent messagesoriginated by the mobile platform to stream the first media according tothe adaptive bitrate streaming protocol. Some such example methods alsoinclude determining ratings data associated with the presentation of thefirst media on the mobile platform using the network log informationcorresponding to the first URL and the network log informationcorresponding to the other URLs, with the ratings data having a timegranularity corresponding to time intervals between media segments ofthe first media identified by the first message and the subsequentmessages.

Additionally or alternatively, some such example methods disclosedherein further include detecting the first message using at least one ofan application executing on the mobile platform or a proxy server incommunication with the mobile platform. In some such examples, detectingthe first message includes accessing the first message, and processingthe first URL in the first message to detect information indicating thatthe first URL conforms to the adaptive bitrate streaming protocol. Insome examples disclosed herein, the adaptive bitrate streaming protocolcorresponds to at least one of hypertext transfer protocol (HTTP) livestreaming (HLS), dynamic adaptive streaming over HTTP (DASH), smoothstreaming, etc.

Some example methods disclosed herein to monitor media on a mobileplatform include accessing a request received from an audiencemeasurement entity (AME) for network log information corresponding to afirst URL. In such examples, the first URL is associated with a firstmessage originated by the mobile platform to stream first mediaaccording to an adaptive bitrate streaming protocol. The adaptivebitrate streaming protocol may correspond to, for example, HLS, DASH,smooth streaming, etc. Some such disclosed example methods also includeretrieving the network log information corresponding to the first URL,and returning the network log information to the AME in response to therequest.

In some such disclosed example methods, the network log informationincludes (1) a timestamp corresponding to when the first messageincluding the first URL was logged by the network, and/or (2) locationinformation specifying a location of the mobile platform at a time whenthe first message including the first URL was logged by the network.Additionally or alternatively, some such disclosed example methodsfurther include omitting personal information related to a subscriberassociated with the mobile platform from the network log informationbefore returning the network log information to the AME.

Additionally or alternatively, in some such disclosed example methods,the request received from the AME includes the first URL and a timerange associated with when the first URL was detected by the AME. Insome such disclosed example methods, retrieving the network loginformation includes querying network log storage using the first URLand the time range. Some such disclosed example methods also includereceiving, in response to the query, a timestamp corresponding to whenthe first message including the first URL was logged by the network.Some such disclosed example methods further include receiving, inresponse to the query, location information specifying a location of themobile platform at a time when the first message including the first URLwas logged by the network.

Additionally or alternatively, some such disclosed example methodsfurther include querying a database to obtain demographic information,in addition to the network log information, corresponding to the firstURL, and returning the demographic information, in addition to thenetwork log information, to the AME in response to the request. Somesuch disclosed example methods further include omitting personalinformation related to a subscriber associated with the mobile platformfrom the demographic information before returning the demographicinformation to the AME.

These and other example methods, apparatus, systems, storage media,etc., to perform media monitoring for mobile platforms using messagingassociated with adaptive bitrate streaming are disclosed in furtherdetail below.

As mentioned above, prior audience measurement techniques typically relyon monitoring statistically selected panels of audience members toobtain demographic information to be included in and/or used tootherwise augment audience ratings data. However, such panel-basedaudience measurement techniques may be unable to perform accurate mediamonitoring for mobile platforms. For example, given the number andvariety of media sources accessible via modern mobile platforms, thesize of a statistically selected panel may be too small to capture thelarge number of different media impressions attributable to a populationof mobile platform users in a statistically meaningful manner. Forexample, many online streaming services provide access to thousands, oreven millions, of different media programs capable of being viewedon-demand at any time. A typical audience measurement panel may containonly hundreds or a few thousand panelists and, thus, may be unable toaccurately reflect the different media impressions occurring in a largepopulation of mobile users able to access such a plethora of differentmedia choices.

Example mobile platform media monitoring solutions disclosed herein,which use messaging associated with adaptive bitrate streaming toperform media monitoring for mobile platforms, are able to solvetechnical problems associated with obtaining accurate demographic datafor use in monitoring media impressions on mobile platforms. Forexample, some example mobile platform media monitoring solutionsdisclosed herein solve such problems by using URLs associated with mediabeing streamed to mobile platforms to obtain detailed demographicinformation from the wireless service providers providing network accessto the mobile platforms. Wireless service providers typically maintaindatabases containing subscriber data providing demographic informationconcerning their subscribers. Additionally, wireless service providerstypically collect network logs documenting the network trafficassociated with mobile platforms communicating with their respectivenetworks. Such network logs can contain demographic-related information,such as the locations of the mobile platforms in the network whenparticular traffic occurred, as well as the specific times when suchtraffic occurred in the network. Also, the timing data obtainable fromthe network logs may be more accurate, or have finer granularity, thanthe timing data that a prior audience measurement system may otherwisebe able to determine for monitored media impressions. As disclosed infurther detail below, example mobile platform media monitoring solutionsdisclosed herein enable an audience measurement entity to receive, froma wireless provider, provider data including such demographicinformation (e.g., location information, subscriber information, etc.)and time information, which can be associated with media impressionsmonitored on one or more mobile platforms.

Turning to the figures, a block diagram of an example environment of use100 including an example audience measurement system 102 to performmedia monitoring for mobile platforms using messaging associated withadaptive bitrate streaming, as disclosed herein, is illustrated in FIG.1 . The example environment of use 100 of FIG. 1 includes one or moremobile platforms, such as an example mobile platform 105, operating inan example access network 110 implemented by a service provider. In theexample environment of use 100 of FIG. 1 , the access network 110provides the mobile platform 105 with access to the Internet 115 and/orany other network, such as a content delivery network (CDN), aproprietary network, etc. Via the example access network 110 and theInternet 115, the mobile platform 105 of the illustrated example is ableto access one or more data sources, including one or more mediastreaming servers, such as an example streaming media server 120. Forexample, the mobile platform 105 is able to access the streaming mediaserver 120 and/or other servers (e.g., an ad server, etc.) via theaccess network 110 and the Internet 115, and receive and present media,including media content, such as movies, television program, etc.,and/or media advertisements, etc., streamed from the streaming mediaserver 120 and/or the other servers.

The example mobile platform 105 of FIG. 1 can correspond to any mobiledevice, apparatus, system, etc., such as a mobile phone or smartphone, atablet computer (e.g., an Apple iPad™), a notebook computer, a gamingdevice (e.g., a Nintendo 3DS™), a personal digital assistant (PDA), etc.The example access network 110 of FIG. 1 can correspond to any type(s),number and/or combination of access networks, such as a mobile cellularnetwork, a wireless local area network (WLAN), such as a WiFi network, aproprietary wireless network, etc. The example streaming media server120 of FIG. 1 can correspond to a streaming media service, such asNetflix, Hulu, Amazon, etc., accessible from the mobile platform 105. Assuch, the streaming media server 120 can be implemented by any type(s),number and/or combination of physical and/or virtual servers and/orplatforms, such as the example processing platform 1200 of FIG. 12 ,capable of streaming media over a network to a media device, such as themobile platform 105.

The example audience measurement system 102 included in the exampleenvironment of use 100 of FIG. 1 includes an example meter 125 and anexample AME server 130 that use messaging associated with adaptivebitrate streaming to performing media monitoring for mobile platforms,as disclosed herein. In the illustrated example of FIG. 1 , the AMEserver 130 can be implemented by any type(s), number(s) and/orcombination of physical and/or virtual servers and/or platforms, such asthe example processing platform 1200 of FIG. 12 . In the illustratedexample of FIG. 1 , the meter 125 can be implemented by any type(s),number(s) and/or combination of application(s) (e.g., apps) executing onthe mobile platform 105, and/or monitoring devices electrically coupledto (e.g., via an electrical data port), optically couple to (e.g., viaan electrical optical port) and/or otherwise in communication with themobile platform 105, capable of detecting messages originated by themobile platform 105 to stream media from the streaming media server 120according to an adaptive bitrate streaming protocol. For example, themeter 125 of the illustrated example detects adaptive bitrate streamingURLs included in messages originated by the mobile platform 105 and tobe sent to the streaming media server 120 to request and stream mediasegments addressed by the adaptive bitrate streaming URLs.

In some examples, the meter 125 is an application that the serviceprovider automatically installs on the mobile platform 105 and/or causesto be automatically downloaded to the mobile platform 105 via the accessnetwork 110. In some examples, the streaming media server 120, oranother server, causes the meter 125 to be downloaded to the mobileplatform 105 as a condition to access streaming media. Such meters maybe referred as non-panelist meters to distinguish them from panelistmeters, such as on-device meters, that are provided to panelistsstatistically selected by an AME for inclusion in an audiencemeasurement panel (and which may include more extensive media monitoringfunctionality than the non-panelist meters). However, in some examples,the meter 125 may correspond to a panelist mater provided by an AME. Assuch, the mobile platform media monitoring solutions disclosed hereincan be used to monitor a mobile platform regardless of whether themobile platform is associated with an AME panelist.

In adaptive bitrate streaming, media to be streamed is encoded into twoor more alternative media streams having different data rates (and,thus, different quality). Each alternative media stream is thensegmented into short segments, such as 10 second segments or segmentshaving some other duration. To receive streaming media from thestreaming media server 120 according to an adaptive bitrate streamingprotocol, the mobile platform 105 requests successive media segments(e.g., successive 10 sec. segments) using the adaptive bitrate streamingURLs identifying the segments. Each time a next segment is to berequested, the mobile platform 105 can select among the different nextsegments corresponding to the different alternative streams, therebypermitting the mobile platform 105 to adapt media quality to theavailable data rate. In the illustrated example of FIG. 1 , the meter125 detects the adaptive bitrate streaming URLs accessed by the mobileplatform 105, and provides the detected adaptive bitrate streaming URLsto the AME server 130 for further processing.

For example, the AME server 130 of the illustrated example receives theadaptive bitrate streaming URLs and identifies the media being streamedto and presented by the mobile platform 105 at a resolutioncorresponding to the segment duration (e.g., such as a 10 secondresolution). In some examples, the AME server 130 maintains a databaseand/or other storage mechanism capable of linking resource identifierinformation (e.g., domain name and path information) in URLs todifferent source media. For example, the AME server 130 may determinethe resource identifier information for different source mediaaccessible from the streaming media server 120 (and other streamingmedia servers) via information reported and updated by the operator(s)of the streaming media server 120 (and other streaming media servers),such as Netflix, Hulu, Amazon, etc. Additionally or alternatively, theAME server 130 may determine the particular source media linked toresource identifier information included in the adaptive bitratestreaming URLs reported by meters, such as the meter 125, by accessingthe source media addressed by a particular resource identifier andidentifying the media using any appropriate media identificationtechnique(s) (e.g., watermark/code matching, signature matching, etc.).

For example, the AME server 130 can use one or more media identificationtechnique(s) employing watermarks and/or signatures to identify mediaaccessed using a resource identifier included in a URL. In the contextof media monitoring, watermarks may be transmitted within and/or withmedia signals. For example, watermarks can be used to transmit data(e.g., such as identification codes, ancillary codes, etc.) with media(e.g., inserted into the audio, video, or metadata stream of media) touniquely identify broadcasters and/or media (e.g., content oradvertisements), and/or to convey other information. Watermarks aretypically extracted using a decoding operation.

In contrast, signatures are a representation of some characteristic ofthe media signal (e.g., a characteristic of the frequency spectrum ofthe signal). Signatures can be thought of as fingerprints. Signaturesare typically not dependent upon insertion of identification codes(e.g., watermarks) in the media, but instead preferably reflect aninherent characteristic of the media and/or the signal transporting themedia. Systems to utilize codes (e.g., watermarks) and/or signatures formedia monitoring are long known. See, for example, Thomas, U.S. Pat. No.5,481,294, which is hereby incorporated by reference in its entirety.

Returning to the example environment of use 100 of FIG. 1 , the AMEserver 130 provides the adaptive bitrate streaming URLs detected for oneor more mobile platforms, such as the mobile platform 105, as well asany timing data associated therewith, to the service provider operatingthe access network 110 to request provider information, such as networklog information, subscriber information, etc., to be used to augment theaudience ratings data determined by the AME. In the illustrated example,the AME server 130 provides (e.g., in real-time, at reporting intervals,etc.) the adaptive bitrate streaming URLs detected for one or moremobile platforms, such as the mobile platform 105, to an exampleoperations support system (OSS) 135 used by the service provider tomanage the example access network 110. In the illustrated example ofFIG. 1 , the OSS 135 includes an example network log server 140 to storenetwork logs documenting the network traffic associated with mobileplatforms, such as the mobile platform 105, operating in and/orcommunicating with the provider’s access network 110. The example OSS135 of FIG. 1 also includes an example subscriber database server 145 tostore subscriber data, which includes demographic information concerningthe provider’s subscribers. The network log server 140 and/or thesubscriber database server 145 can be implemented by any type(s),number(s) and/or combination of physical and/or virtual servers and/orplatforms, such as the example processing platform 1200 of FIG. 12 .

In some examples, in response to receiving the adaptive bitratestreaming URLs in a request for provider information, the OSS 135compares the adaptive bitrate streaming URLs to the network logs storedin the network log server 140 to, for example, identify the mobileplatform(s), such as the mobile platform 105, that accessed the adaptivebitrate streaming URLs, identify the times at which the adaptive bitratestreaming URLs were accessed/logged, determine location information forthe mobile platform, such as the mobile platform 105, at the times theadaptive bitrate streaming URLs were accessed/logged, etc. In someexamples, the OSS 135 uses the mobile platform identificationinformation obtained from the network logs to further retrievesubscriber data associated with the identified mobile platform(s), suchas the mobile platform 105, from the subscriber database server 145.Such subscriber data can include, for example, any demographic-relateddata, such as an address of the subscriber, an age of the subscriber, agender of the subscriber, an ethnicity of the subscriber, an income ofthe subscriber, an education level of the subscriber, a service tiersubscribed to by the subscriber, etc., and/or any other subscriber datastored in the subscriber database server 145. Because the adaptivebitrate streaming URLs included in request(s) from the AME server 130may be associated with any customers/subscribers, and not just panelistsof the AME, the OSS 135 can retrieve network log information and/orsubscriber data associated with any customers/subscribers, and not justpanelists of the AME.

In some examples, the AME server 130 includes a time range or rangescorresponding to when the adaptive bitrate streaming URLs weredetected/logged by the meter 125 in the request(s) for providerinformation sent to the OSS 135. In such examples, the time range(s) canassist the OSS 135 in narrowing the search of the network logs stored bythe network log server 140 and/or the search of the subscriber datastored in the subscriber database server 145 when determining theprovider information to be reported in response to the request. Forexample, if the request for provider information includes adaptivebitrate streaming URLs for multiple different mobile platforms and/orcorresponds to a substantially long time interval (e.g., tens ofminutes, hours, etc.), timing data provided by the AME server 130 in therequest may assist the OSS 135 to narrow its searches to the relevanttimes/time ranges. In some examples, the timing data available to theAME server 130 is less accurate than the timing data maintained by thenetwork log server 140 or, more generally, the OSS 135 and, as such, theAME server 130 is able to use the timing data (e.g., timestamps)retrieved from the network log server 140 to improve monitoringaccuracy.

In some examples, the OSS 135 processes the retrieved network loginformation and/or subscriber data corresponding to the adaptive bitratestreaming URLs to determine provider information including the networklog information and/or subscriber data. In some examples, such data isaggregated or otherwise made anonymous to protect the privacy of theservice provider’s subscribers (e.g., and, thus, the users of the mobileplatform, such as the mobile platform 105, operating in and/orcommunicating with the access network 110.). For example, the resultingnetwork log information returned by the OSS 135 to the AME server 130for the adaptive bitrate streaming URLs included in the request caninclude, but is not limited to, timestamps indicating the times at whichthe adaptive bitrate streaming URL(s) were accessed/logged, locationdata (e.g., such as location information generalized to a cellidentifier level, ZIP+4 data level, etc.) indicating the location(s) ofthe mobile platform(s), such as the mobile platform 105, when theadaptive bitrate streaming URL(s) was(were) accessed/logged, etc., butwhich omits any personal identification information. Similarly, theresulting subscriber data returned by the OSS 135 to the AME server 130for the adaptive bitrate streaming URLs included in the request caninclude, but is not limited to, demographic data, such as age,ethnicity, income, education, etc., but which omits any personalidentification information.

In the example environment of use 100 of FIG. 1 , the AME server 130receives the service provider information (e.g., network loginformation, subscriber data, etc.) determined to correspond to theadaptive bitrate streaming URLs provided in the prior request(s) sent bythe AME server 130 to the OSS 135. In some examples, the AME server 130combines media identification information identifying the media accessedusing the adaptive bitrate streaming URLs with the service providerinformation (e.g., timestamps, location information and/or otherdemographic data, etc.) returned by the OSS 135 to determine audienceratings data for monitoring media impressions on the mobile platform. Asnoted above, the AME server 130 can determine the particular mediaaccessed by the adaptive bitrate streaming URLs using a previouslydetermined mapping of URL resource identifier information to particularmedia sources, by detecting identification information embedded in orotherwise accompanying the streamed media, etc. By combining the mediaidentification information available to the AME server 130 with theprovider information provided by the service provider (e.g., via the OSS135), the resulting ratings data determined by the AME server 130 is notonly able to identify the media corresponding to media impressionsmonitored on the mobile platform 105, but is also able to indicate, forexample, the time and location of the mobile platform 105 when the mediaimpression occurred, as well as other demographic informationcharacterizing the user exposed to the media impression.

An example procedure to perform media monitoring for mobile platformsusing messaging associated with adaptive bitrate streaming in theexample environment of use 100 of FIG. 1 is illustrated in FIGS. 2A-C.The example procedure begins in FIG. 2A with the example mobile platform105 originating example messages 205 including adaptive bitratestreaming URLs, which are sent to the example streaming media server 120to request delivery of streaming media. In response, the streaming mediaserver 120 streams successive example segments 210 of the requestedmedia to the mobile platform 105. As mentioned above, in adaptivebitrate streaming, media to be streamed is segmented into segments of aspecified duration, such as 10 seconds or some other duration.Accordingly, the sequence of adaptive bitrate streaming URLs identifythe sequence of segments forming the media stream at a resolution (e.g.,10 second) corresponding to the duration of the segments. In theillustrated example of FIGS. 2A-C, the example OSS 135 also logscontents of the messages 205 (represented in FIG. 2A by the directedline 215), such as the adaptive bitrate streaming URLs, and othernetwork information, such as timestamps indicating when the respectivemessages 205 were logged, location(s) of the mobile platform 105 at thetimes when the messages 205 were logged, etc.

In some examples, the messages 205 correspond to a sequence of hypertexttransfer protocol (HTTP) GET request messages including respectiveadaptive bitrate streaming URLs identifying successive message segmentsforming the media stream to be delivered to the mobile platform 105. Twoexample sequences of adaptive bitrate streaming URLs that may beincluded in respective sequences of the messages 205 to requestdifferent streaming media are shown in Tables 1 and 2.

TABLE 1 A First Example of Adaptive Bitrate Streaming URLshttps://httpls-e.hulu.com/httpls/835/60201835/agave50423849_15039944_H264_TV_650.tar/segment0.ts?expire=1365515090&token=35e64536db720b0653659237beb784b7&br=650https://httplse.hulu.com/httpls/835/60201835/agave50423849_15039944_H264_TV_650.tar/segment1.ts?expire=1365515090&token=d045692f7ff2bbbe1ec15a6d8c5bab85&br=650https://httplse.hulu.comʺ,ʺ/httpls/835/60201835/agave50423849_15039944_H264_TV_650.tar/segment2.ts?expire=1365515090&token=b77d248ce0eab358f2725b8064ca3e6b&br=650https://httpls1.hulu.comʺ,ʺ/835/60201835/agave50423849_15039945_H264_1000.tar/segment3.ts?br=1000&end=20130409134450&authToken=061c23f7213ac24ab6b2d

TABLE 2 A Second Example of Adaptive Bitrate Streaming URLshttps://lpcdn01.nflximg.com/779/1255352779.aac?etime=20130414112326&movieHash=849&encoded=05196ad63c66d888balc3&random=327768656https://lpcdn04.nflximg.com/907/1898487907.ts.prdy?etime=20130414112326&movieHash=849&encoded=0a3c955e0dcc1b9fab07f&random=3140026443https://lpcdn04.nflximg.com/907/1898487907.ts.prdy?etime=20130414112326&movieHash=849&encoded=0a3c955e0dcc1b9fab07f&random=3140026443https://lpcdn04.nflximg.com/907/1898487907.ts.prdy?etime=20130414112326&movieHash=849&encoded=0a3c955e0dcc1b9fab07f&random=3140026443https://lpcdn04.nflximg.com/907/1898487907.ts.prdy?etime=20130414112326&movieHash=849&encoded=0a3c955e0dcc1b9fab07f&random=3140026443https://lpcdn04.nflximg.com/907/1898487907.ts.prdy?etime=20130414112326&movieHash=849&encoded=0a3c955e0dcc1b9fab07f&random=3140026443https://lpcdn04.nflximg.com/907/1898487907.ts.prdy?etime=20130414112326&movieHash=849&encoded=0a3c955e0dcc1b9fab07f&random=3140026443

With reference to FIG. 2B, the example meter 125 detects the messages205 originated by the mobile platform 105 and containing the adaptivebitrate streaming URLs. The meter 125 logs the adaptive bitratestreaming URLs included in the detected messages 205, and reports theadaptive bitrate streaming URLs (e.g., in real-time, at reportingintervals, etc.) to the example AME server 130, as represented by thedirected line 220 in FIG. 2B. In some examples, the meter 125 alsoincludes a time or a time range associated with a respective individualadaptive bitrate streaming URL or a respective group of adaptive bitratestreaming URLs to indicate, for example, a window of time during whichthe adaptive bitrate streaming URL(s) was(were) collected by the meter125.

In some examples, the meter 125 is configured to detect the messages 205by (1) filtering or otherwise detecting HTTP GET request messages and/orother messages capable of carrying adaptive bitrate streaming URLs, and(2) detecting the adaptive bitrate streaming URLs included in thefiltered messages. In some examples, the meter 125 is configured todetect the adaptive bitrate streaming URLs by parsing or otherwisesearching the contents of detected HTTP GET request messages forkeywords, text strings, etc., indicative of a URL format used by anadaptive bitrate streaming protocol, such as HLS, DASH, smoothstreaming, etc. For example, and with reference to Tables 1 and 2, themeter 125 may be configured to search for keywords and/or text strings,such as “segmentN.ts” (where “N” is an integer), “.ts.prdy,” etc., inthe URLs included in the detected HTTP GET request messages to determinethat the URLs correspond to adaptive bitrate streaming URLs.Additionally or alternatively, the meter 125 may be configured to detectadaptive bitrate streaming URLs by searching for patterns of URLs insuccessive detected messages that are indicative of patterns associatedwith adaptive bitrate streaming. For example, the meter 125 maydetermine that a sequence of URLs included in a corresponding sequenceof detected messages correspond to adaptive bitrate streaming URLs ifthe URLs point to a common domain name, share similar path data, and arespaced apart in time by a duration consistent with an adaptive bitratestreaming protocol.

With reference to FIG. 2C, the example AME server 130 sends requests 225to the example OSS 135 to request provider information, such as networklog information, subscriber demographic data, etc., corresponding toadaptive bitrate streaming URLs included in the requests 225. Theadaptive bitrate streaming URLs included in the requests 225 maycorrespond to a sequence of URLs collected for one mobile platform, suchas the mobile platform 105, or sequences of URLs collected for a groupof mobile platforms. The OSS 135 uses the adaptive bitrate streamingURLs included in the requests 225, as well as any timing data providedby the AME server 130, to query the network log server 140 for networklog information, such as timestamps (which may be more accurate than anytiming data provided by the AME server in the requests 225), locationinformation, etc., corresponding to the adaptive bitrate streaming URLs.In some examples, the OSS 135 also uses the adaptive bitrate streamingURLs included in the requests 225, and/or the network log informationretrieved from the network log server 140 in response to the queries, toquery the subscriber database server 145 for subscriber demographic datacorresponding to the adaptive bitrate streaming URLs. The OSS 135 thensends responses 230 to the AME server 130 containing the provider data,such as the retrieved network log information (e.g., timestamps,location data, etc.) and/or the subscriber demographic data,corresponding to the adaptive bitrate streaming URLs included in therequests 225. In some examples, the OSS 135 processes the network loginformation retrieved from the network log server 140 and/or thesubscriber demographic data retrieved from the subscriber databaseserver 145 to omit personal identification data before including thenetwork log information and/or the subscriber demographic data in theresponses 230 to be sent to the AME server 130. The AME server 130 thenuses the provider information included in the responses 230 to monitormedia impressions on the mobile platform 105 and to determine associatedaudience rating data.

A block diagram of a second example environment of use 300 including asecond example audience measurement system 302 to perform mediamonitoring for mobile platforms using messaging associated with adaptivebitrate streaming as disclosed herein is illustrated in FIG. 3 . Thesecond example environment of use 300 includes many elements in commonwith the environment of use 100 of FIGS. 1 and 2A-C. As such, likeelements in FIGS. 1 and 3 are labeled with the same reference numerals.The detailed descriptions of these like elements are provided above inconnection with the discussions of FIGS. 1 and 2A-C and, in the interestof brevity, are not repeated in the discussion of FIG. 3 .

Turning to FIG. 3 , the example environment of use 300 includes theexample mobile platform 105, the example access network 110, theInternet 115, the example media streaming server 120, the example OSS135, the example network log server 140 and the example subscriberdatabase server 145 of FIG. 1 . The example audience measurement system302 included in the example environment of use 300 of FIG. 3 alsoincludes the example AME server 130 of FIG. 1 . Descriptions of theseelements are provided above in connection with the descriptions of FIGS.1 and 2A-C. However, instead of including the meter 125 to monitor themobile platform 105, the example audience measurement system 302included in the example environment of use 300 of FIG. 3 includes anexample proxy server 325 to detect the messages 205 originated by themobile platform 105 and including adaptive bitrate streaming URLs to beused for media monitoring. In the illustrated example of FIG. 3 , themobile platform 105 is configured to access the Internet 115 (or othernetwork) via the proxy server 325. Some example techniques forconfiguring the mobile platform 105 to access the Internet 115 (or othernetwork) via the proxy server 325 are described in U.S. Pat. PublicationNo. 2012/0042005, U.S. Pat. Publication No. 2012/0042367 and U.S. Pat.No. 8,594,617, which are incorporated herein by reference in theirrespective entireties. The proxy server 325 detects the messages 205from the mobile platform 105 and/or other mobile platforms configured toaccess the Internet 115 (or other network) via the proxy server 325,logs the detected messages 205, and reports the adaptive bitratestreaming URLs (e.g., in real-time, at reporting intervals, etc.) to theexample AME server 130. In some examples, the proxy server 325 alsoincludes a time or a time range associated with an individual adaptivebitrate streaming URL or a group of adaptive bitrate streaming URLs toindicate, for example, a window of time during which the adaptivebitrate streaming URL(s) was(were) collected by the proxy server 325.

In some examples, the proxy server 325 is configured to detect themessages 205 by (1) filtering or otherwise detecting HTTP GET requestmessages and/or other messages capable of carrying adaptive bitratestreaming URLs, and (2) detecting the adaptive bitrate streaming URLsincluded in the filtered messages. Like the example meter 125, in someexamples, the proxy server 325 is configured to detect the adaptivebitrate streaming URLs by parsing or otherwise searching the contents ofdetected HTTP GET request messages for keywords, text strings, etc.,indicative of a URL format used by an adaptive bitrate streamingprotocol, such as HLS, DASH, smooth streaming, etc. For example, andwith reference to Tables 1 and 2, the proxy server 325 may be configuredto search for keywords and/or text strings, such as “segmentN.ts” (where“N” is an integer), “.ts.prdy,” etc., in the URLs included in detectedHTTP GET request messages to determine that the URLs correspond toadaptive bitrate streaming URLs. Additionally or alternatively, like themeter 125, the proxy server 325 may be configured to detect adaptivebitrate streaming URLs by searching for patterns of URLs in successivedetected messages that are indicative of patterns associated withadaptive bitrate streaming. For example, the proxy server 325 maydetermine that a sequence of URLs included in a corresponding sequenceof detected messages corresponds to adaptive bitrate streaming URLs ifthe URLs point to a common domain name, share similar path data, and/orare spaced apart in time by a duration consistent with an adaptivebitrate streaming protocol.

Although example mobile platform media monitoring solutions have beendisclosed herein in the context of the example environments of use 100and 300, such solutions are not limited thereto. For example, a systemthat is to use messaging associated with adaptive bitrate streaming toperform media monitoring for mobile platforms as disclosed herein mayinclude any number(s) and/or type(s) of mobile platforms 105, accessnetworks 110, Internet and/or other networks 115, media streamingservers 120, OSSs 135, network log servers 140 and/or subscriberdatabase servers 145. Additionally or alternatively, a system that is touse messaging associated with adaptive bitrate streaming to performmedia monitoring for mobile platforms as disclosed herein may includemultiple AME servers 130, such as different servers configured tomonitor different access networks 110 and, thus, configured to interfacewith different OSSs 135. Additionally or alternatively, a system that isto use messaging associated with adaptive bitrate streaming to performmedia monitoring for mobile platforms as disclosed herein may includeone or more meters 125, one or more proxy servers 325, and/or anycombination thereof to collect the adaptive bitrate streaming URLscorresponding to the different media being streamed to different mobileplatforms. Also, using messaging associated with adaptive bitratestreaming to perform media monitoring for mobile platforms as disclosedherein is not limited to use with wireless access networks, but can beused with any type of access network for which network log informationand/or subscriber demographic data is maintained.

A block diagram of an example implementation of the meter 125 includedin the example environment of use 100 of FIGS. 1 and 2A-C is illustratedin FIG. 4 . For convenience and without loss of generality, the meter125 of FIG. 4 is described in the context of being used to monitor theexample mobile platform 105 in the example environment of use 100 ofFIGS. 1 and 2A-C. The example meter 125 of FIG. 4 includes an examplemessage detector 405 to detect messages that include adaptive bitratestreaming URLs, such as the example messages 205 originated by themobile platform 105. In some examples, the message detector 405 detectsthe messages 205 by initially filtering messages originated at themobile platform 105 (e.g., message prepared and to be sent by the mobileplatform 105) to identify those candidate messages likely to includeadaptive bitrate streaming URLs, such as HTTP GET messages. For example,the message detector 405 may be configured to monitor a protocol callstack, such as a transmission control protocol/Internet protocol(TCP/IP) protocol stack, implemented on the mobile platform 105, and/orto monitor one or more network interfaces of the mobile platform 105,etc., to capture and filter (e.g., identify) candidate messages, such asHTTP GET messages, being prepared for transmission by the mobileplatform 105.

In some examples, the message detector 405 then processes the filtered,candidate messages to detect adaptive bitrates streaming URLs includedin the messages. For example, and as described above, the messagedetector 405 may be configured to detect the adaptive bitrate streamingURLs by parsing or otherwise searching the contents of candidatemessages, such as HTTP GET messages originated by the mobile platform105, for keywords, text strings, etc., indicative of a URL format usedby an adaptive bitrate streaming protocol, such as HLS, DASH, smoothstreaming, etc. Additionally or alternatively, the message detector 405may be configured to detect adaptive bitrate streaming URLs by searchingfor patterns of URLs in successive candidate messages that areindicative of patterns associated with adaptive bitrate streaming. Forexample, and as described above, the message detector 405 may determinethat a sequence of URLs included in a respective sequence of candidatemessages, such as HTTP GET messages originated by the mobile platform105, correspond to adaptive bitrate streaming URLs if the URLs point toa common domain name, share similar path data, and/or are spaced apartin time by a duration consistent with an adaptive bitrate streamingprotocol.

The example meter 125 of FIG. 4 also includes an example URL reporter410 to log the adaptive bitrate streaming URLs detected by the messagedetector 405. For example, the URL reporter 410 may store the detectedadaptive bitrate streaming URLs in volatile and/or non-volatile memory,storage, etc., such as the example volatile memory 1214, the examplenon-volatile memory 1216, and/or the example mass storage device(s)1228, etc., included in the example processor platform 1200 of FIG. 12 .The URL reporter 410 of the illustrated example also reports the loggedadaptive bitrate streaming URLs to, for example, the AME server 130. Forexample, the URL reporter 410 may report the logged adaptive bitratestreaming URLs in real-time, at reporting intervals, when a storagethreshold is met, etc., or via any combination of these techniques. Insome examples, the URL reporter 410 also includes times or time rangesassociated with respective individual adaptive bitrate streaming URLs orrespective groups of adaptive bitrate streaming URLs in the informationreported to the AME server 130 to indicate, for example, windows of timeduring which different adaptive bitrate streaming URLs, or groups ofURLs, were collected by the meter 125.

A block diagram of an example implementation of the proxy server 325included in the example environment of use 300 of FIG. 3 is illustratedin FIG. 5 . For convenience and without loss of generality, the proxyserver 325 of FIG. 5 is described in the context of being used tocollect and report adaptive bitrate streaming URLs included in messagessent by mobile platform(s), such as the example mobile platform 105, inthe example environment of use 300 of FIG. 3 . The example proxy server325 of FIG. 5 includes an example message detector 505 to detectmessages, such as the example messages 205, originated by mobileplatforms, such as the mobile platform 105, and which include adaptivebitrate streaming URLs. In some examples, the message detector 505detects the messages 205 by initially filtering messages originated byand received from mobile platforms, such as the mobile platform 105, toidentify those candidate messages likely to include adaptive bitratestreaming URLs, such as HTTP GET messages.

In some examples, the message detector 505 then processes the filtered,candidate messages to detect adaptive bitrate streaming URLs included inthe messages. For example, and as described above, the message detector505 may be configured to detect the adaptive bitrate streaming URLs byparsing or otherwise searching the contents of candidate messages, suchas HTTP GET messages originated by and received from mobile platforms,such as the mobile platform 105, for keywords, text strings, etc.,indicative of a URL format used by an adaptive bitrate streamingprotocol, such as HLS, DASH, smooth streaming, etc. Additionally oralternatively, the message detector 505 may be configured to detectadaptive bitrate streaming URLs by searching for patterns of URLs insuccessive candidate messages that are indicative of patterns associatedwith adaptive bitrate streaming. For example, and as described above,the message detector 505 may determine that a sequence of URLs includedin a corresponding sequence of candidate messages, such as HTTP GETmessages originated by and received from mobile platforms, such as themobile platform 105, correspond to adaptive bitrate streaming URLs ifthe URLs point to a common domain name, share similar path data, and arespaced apart in time by a duration consistent with an adaptive bitratestreaming protocol.

The example proxy server 325 of FIG. 4 also includes an example URLreporter 510 to log the adaptive bitrate streaming URLs detected by themessage detector 505. For example, the URL reporter 510 may store thedetected adaptive bitrate streaming URLs in volatile and/or non-volatilememory, storage, etc., such as the example volatile memory 1214, theexample non-volatile memory 1216, and/or the example mass storagedevice(s) 1228, etc., included in the example processor platform 1200 ofFIG. 12 . The URL reporter 510 of the illustrated example also reportsthe logged adaptive bitrate streaming URLs to, for example, the AMEserver 130. For example, the URL reporter 510 may report the loggedadaptive bitrate streaming URLs in real-time, at reporting intervals,when a storage threshold is met, etc., or any combination thereof. Insome examples, the URL reporter 510 also includes times or time rangesassociated with respective individual adaptive bitrate streaming URLs orrespective groups of adaptive bitrate streaming URLs in the informationreported to the AME server 130 to indicate, for example, windows of timeduring which different adaptive bitrate streaming URLs, or groups ofURLs, were collected by the proxy server 325.

A block diagram of an example implementation of the AME server 130included in the example environments of use 100 and/or 300 of FIGS. 1and 3 , respectively, is illustrated in FIG. 6 . The example AME server130 of FIG. 6 includes an example URL collector 605 to collect (e.g.,receive and store) adaptive bitrate streaming URLs reported by meter(s),such as the example meter 125, and/or proxy server(s), such as theexample proxy server 325, operating in the example environments of use100 and/or 300. For example, the URL collector 605 may store thereported adaptive bitrate streaming URLs, along with any times and/ortime range reported with the URLs, in volatile and/or non-volatilememory, storage, etc., such as the example volatile memory 1214, theexample non-volatile memory 1216, and/or the example mass storagedevice(s) 1228, etc., included in the example processor platform 1200 ofFIG. 12 .

The example AME server 130 of FIG. 6 also includes an example providerdata requestor 610 to request, from one or more service providers,information, such as network log information, subscriber demographicdata, etc., corresponding to the adaptive bitrate streaming URLscollected by the URL collector 605. In some examples, the provider datarequestor 610 sends requests, such as the example requests 225, to aservice provider’s OSS, such as the example OSS 135, which include theadaptive bitrate streaming URLs for which provider information isrequested. The adaptive bitrate streaming URLs may correspond to one ormore URLs (e.g., such as a sequence of URLs) collected for one mobileplatform, such as the mobile platform 105, or for several mobileplatforms being monitored by the AME server 130. In some examples, therequests 225 sent by the provider data requestor 610 also include timesand/or time range information associated with the adaptive bitratestreaming URLs for which provider information is requested. In responseto the requests 225, the provider data requestor 610 receives responses,such as the example responses 230, containing the provider information,such as retrieved network log information (e.g., timestamps, locationdata, etc.) and/or the subscriber demographic data, corresponding to theadaptive bitrate streaming URLs included in the requests 225. In someexamples, the provider information included in the responses 230received by the provider data requestor 610 omits personalidentification information to protect the privacy of the serviceprovider’s customers.

The example AME server 130 of FIG. 6 further includes an example mediaidentifier 615 to identify the particular media associated with theadaptive bitrate streaming URLs collected by the URL collector 605. Insome examples, and as described above, the media identifier 615maintains a database and/or other storage mechanism capable of linkingresource identifier information (e.g., domain name and path information)in URLs to different source media. For example, the media identifier 615may determine the resource identifier information for different sourcemedia accessible from the streaming media server 120 (and/or otherstreaming media servers) via information reported and updated by theoperator(s) of the streaming media server 120 (and/or other streamingmedia servers), such as Netflix, Hulu, Amazon, etc. Additionally oralternatively, the AME server 130 may determine the particular sourcemedia linked to the adaptive bitrate streaming URLs collected by the URLcollector 605 by accessing the source media addressed by a particularresource identifier and identifying the media using any appropriatemedia identification technique(s), such as one or more watermark -basedtechniques, signature-based techniques, etc.

The example AME server 130 of FIG. 6 includes an example ratings monitor620 to combine the provider data obtained by the provider data requestor610 and the media identification data obtained by the media identifier615 to determine ratings data characterizing, for example, mediaimpressions on mobile platforms, such as the mobile platform 105. Insome examples, the ratings monitor 620 combines the media identificationinformation determined by the media identifier 615 for one or a group ofadaptive bitrate streaming URLs collected by the URL collector 605 withprovider information (e.g., timestamps, location data, subscriberdemographic data, etc.) obtained by the provider data requestor 610 forthe same adaptive bitrate streaming URL or group of URLs to monitormedia impressions associated with a mobile platform, such as the mobileplatform 105. In some examples, the ratings monitor 620 determinesratings data for each collected adaptive bitrate streaming URL and,thus, the ratings data has a temporal resolution corresponding to themedia segment duration associated with each URL (e.g., such as 10seconds or some other duration).

For example, for an adaptive bitrate streaming URL or group of URLscollected by the URL collector 605 for the mobile platform 105, theratings monitor 620 may identify the media associated with the adaptivebitrate streaming URL(s) using the media identification informationobtained by the media identifier 615. In such examples, the ratingsmonitor 620 may use the timestamps included in the provider informationobtained by the provider data requestor 610 to determine a time (or timerange) corresponding to when a particular segment of the identifiedmedia was provided to and/or presented by the mobile platform 105.Additionally or alternatively, the ratings monitor 620 may use thelocation data included in the provider information obtained by theprovider data requestor 610 to determine a location of the mobileplatform 105 at the time when the particular segment of the identifiedmedia was provided to and/or presented by the mobile platform 105.Additionally or alternatively, the ratings monitor 620 may use thesubscriber demographic data included in the provider informationobtained by the provider data requestor 610 to determine demographics ofthe user exposed to the identified media presented by the mobileplatform 105. In some examples, the ratings monitor 620 further combinesratings data determined for individual mobile platforms, such as themobile platform 105, with other mobile platforms and/or other mediapresentation devices (e.g., such as televisions, desktop computers,gaming consoles, etc.) to determine overall ratings data for one or moreaudience measurement campaigns.

A block diagram of an example implementation of the OSS 135 included inthe example environments of use 100 and/or 300 of FIGS. 1 and 3 ,respectively, is illustrated in FIG. 7 . The example OSS 135 of FIG. 7includes the example network server 140 and the example subscriberdatabase server 145 described above in connection with the descriptionsof FIGS. 1-3 . The example OSS 135 of FIG. 7 also includes an exampleAME request interface 705 to receives requests, such as the examplerequests 225, from AME servers, such as the example AME server 130, forprovider information (e.g., network log information, subscriberdemographic data, etc.) corresponding to adaptive bitrate streaming URLsspecified in the requests. As noted above, the adaptive bitratestreaming URLs specified in the requests may be associated with one orseveral different mobile platforms. The AME request interface 705 alsoreturns responses, such as the example responses 230, containing therequested provider information to the requesting AME server. The AMErequest interface 705 can be implemented by an appropriate type(s)and/or number(s) of network and/or data interface(s), such as theexample interface circuit 1220 of FIG. 12 .

The example OSS 135 of FIG. 7 further includes an example server querier710 to query provider servers, such as the network server 140 and thesubscriber database server 145, to retrieve provider informationcorresponding to the adaptive bitrate streaming URLs included in therequests received via the AME request interface 705. In some examples,the server querier 710 queries the network log server 140 using contentsof an adaptive bitrate streaming URL to retrieve network log informationstored in the network log server 140 and associated with the providedURL contents. For example, in response to receiving an adaptive bitratestreaming URL in a query from the server querier 710, the network logserver 140 may find a stored network log entry containing a matchingadaptive bitrate streaming URL. The network log server 140 may thenreturn other network information, such as a timestamp for the matchinglog entry, a mobile platform identifier identifying the particularmobile platform associated with the matching log entry, mobile platformlocation data included in the matching log entry, etc., in a response tothe query.

In some examples, the server querier 710 additionally or alternativelyqueries the subscriber database server 145 using contents of an adaptivebitrate streaming URL and/or network log information obtained from thenetwork log server 140 for the adaptive bitrate streaming URL toretrieve subscriber data stored in the subscriber database server 145and associated with the URL. For example, in response to receiving aquery from the server querier 710 including a mobile platform identifierindicated by the network log information as being associated with anadaptive bitrate streaming URL, the subscriber database server 145 mayfind a subscriber database entry containing a matching mobile platformidentifier. The subscriber database server 145 may then return othersubscriber demographic data, such as an address of the subscriber, anage of the subscriber, a gender of the subscriber, an ethnicity of thesubscriber, an income of the subscriber, an education level of thesubscriber, a service tier subscriber to by the subscriber, etc., in aresponse to the query.

The example OSS 135 of FIG. 7 includes an example provider data reporter715 to process provider information, such as the network log informationand/or subscriber demographic data retrieved by the server querier 710,before returning the provider information to an AME server, such as theAME server 130, in a response to a query received by the AME requestinterface 705. In some examples, the provider data reporter 715processes the network log information and/or subscriber demographic dataretrieved by the server querier 710 to omit any personal identificationinformation, such as a subscriber’s name, a subscriber’s address, asubscriber’s customer/subscriber identification number, etc., to therebyprotect the privacy of the service provider’s customers/subscribers. Theprovider data reporter 715 then includes the processed providerinformation in one or more responses, such as the responses 230, to bereturned to the requesting AME server via the AME request interface 705.

While example manners of implementing the example audience measurementsystems 102 and 302 are illustrated in FIGS. 1-7 , one or more of theelements, processes and/or devices illustrated in FIGS. 1-7 may becombined, divided, re-arranged, omitted, eliminated and/or implementedin any other way. Further, the example mobile platform 105, the exampleaccess network 110, the Internet 115, the example streaming media server120, the example meter 125, the example AME server 130, the example OSS135, the example network log server 140, the example subscriber databaseserver 145, the example proxy server 325, the example message detector405, the example URL reporter 410, the example message detector 505, theexample URL reporter 510, the example URL collector 605, the exampleprovider data requestor 610, the example media identifier 615, theexample ratings monitor 620, the example AME request interface 705, theexample server querier 710, the example provider data reporter 715and/or, more generally, the example system 102 and/or the example system302 may be implemented by hardware, software, firmware and/or anycombination of hardware, software and/or firmware. Thus, for example,any of the example mobile platform 105, the example access network 110,the Internet 115, the example streaming media server 120, the examplemeter 125, the example AME server 130, the example OSS 135, the examplenetwork log server 140, the example subscriber database server 145, theexample proxy server 325, the example message detector 405, the exampleURL reporter 410, the example message detector 505, the example URLreporter 510, the example URL collector 605, the example provider datarequestor 610, the example media identifier 615, the example ratingsmonitor 620, the example AME request interface 705, the example serverquerier 710, the example provider data reporter 715 and/or, moregenerally, the example system 102 and/or the example system 302 could beimplemented by one or more analog or digital circuit(s), logic circuits,programmable processor(s), application specific integrated circuit(s)(ASIC(s)), programmable logic device(s) (PLD(s)) and/or fieldprogrammable logic device(s) (FPLD(s)). When reading any of theapparatus or system claims of this patent to cover a purely softwareand/or firmware implementation, at least one of the example system 102,the example system 302, the example mobile platform 105, the exampleaccess network 110, the Internet 115, the example streaming media server120, the example meter 125, the example AME server 130, the example OSS135, the example network log server 140, the example subscriber databaseserver 145, the example proxy server 325, the example message detector405, the example URL reporter 410, the example message detector 505, theexample URL reporter 510, the example URL collector 605, the exampleprovider data requestor 610, the example media identifier 615, theexample ratings monitor 620, the example AME request interface 705, theexample server querier 710 and/or the example provider data reporter 715is/are hereby expressly defined to include a tangible computer readablestorage device or storage disk such as a memory, a digital versatiledisk (DVD), a compact disk (CD), a Blu-ray disk, etc. storing thesoftware and/or firmware. Further still, the example systems 102 and/or302 may include one or more elements, processes and/or devices inaddition to, or instead of, those illustrated in FIGS. 1-7 , and/or mayinclude more than one of any or all of the illustrated elements,processes and devices.

Flowcharts representative of example machine readable instructions forimplementing the example system 102, the example system 302, the examplemobile platform 105, the example access network 110, the Internet 115,the example streaming media server 120, the example meter 125, theexample AME server 130, the example OSS 135, the example network logserver 140, the example subscriber database server 145, the exampleproxy server 325, the example message detector 405, the example URLreporter 410, the example message detector 505, the example URL reporter510, the example URL collector 605, the example provider data requestor610, the example media identifier 615, the example ratings monitor 620,the example AME request interface 705, the example server querier 710and/or the example provider data reporter 715 are shown in FIGS. 8-11 .In these examples, the machine readable instructions comprise one ormore programs for execution by a processor, such as the processor 1212shown in the example processor platform 1200 discussed below inconnection with FIG. 12 . The one or more programs, or portion(s)thereof, may be embodied in software stored on a tangible computerreadable storage medium such as a CD-ROM, a floppy disk, a hard drive, adigital versatile disk (DVD), a Blu-Ray Disk™, or a memory associatedwith the processor 1212, but the entire program or programs and/orportions thereof could alternatively be executed by a device other thanthe processor 1212 and/or embodied in firmware or dedicated hardware(e.g., implemented by an ASIC, a PLD, an FPLD, discrete logic, etc.).Also, one or more of the machine readable instructions represented bythe flowcharts of FIGS. 8-11 may be implemented manually. Further,although the example program(s) is(are) described with reference to theflowcharts illustrated in FIGS. 8-11 , many other methods ofimplementing the example system 102, the example system 302, the examplemobile platform 105, the example access network 110, the Internet 115,the example streaming media server 120, the example meter 125, theexample AME server 130, the example OSS 135, the example network logserver 140, the example subscriber database server 145, the exampleproxy server 325, the example message detector 405, the example URLreporter 410, the example message detector 505, the example URL reporter510, the example URL collector 605, the example provider data requestor610, the example media identifier 615, the example ratings monitor 620,the example AME request interface 705, the example server querier 710and/or the example provider data reporter 715 may alternatively be used.For example, with reference to the flowcharts illustrated in FIGS. 8-11, the order of execution of the blocks may be changed, and/or some ofthe blocks described may be changed, eliminated, combined and/orsubdivided into multiple blocks.

As mentioned above, the example processes of FIGS. 8-11 may beimplemented using coded instructions (e.g., computer and/or machinereadable instructions) stored on a tangible computer readable storagemedium such as a hard disk drive, a flash memory, a read-only memory(ROM), a compact disk (CD), a digital versatile disk (DVD), a cache, arandom-access memory (RAM) and/or any other storage device or storagedisk in which information is stored for any duration (e.g., for extendedtime periods, permanently, for brief instances, for temporarilybuffering, and/or for caching of the information). As used herein, theterm tangible computer readable storage medium is expressly defined toinclude any type of computer readable storage device and/or storage diskand to exclude propagating signals and to exclude transmission media. Asused herein, “tangible computer readable storage medium” and “tangiblemachine readable storage medium” are used interchangeably. Additionallyor alternatively, the example processes of FIGS. 8-11 may be implementedusing coded instructions (e.g., computer and/or machine readableinstructions) stored on a non-transitory computer and/or machinereadable medium such as a hard disk drive, a flash memory, a ROM, a CD,a DVD, a cache, a RAM and/or any other storage device or storage disk inwhich information is stored for any duration (e.g., for extended timeperiods, permanently, for brief instances, for temporarily buffering,and/or for caching of the information). As used herein, the termnon-transitory computer readable medium is expressly defined to includeany type of computer readable storage device and/or storage disk and toexclude propagating signals and to exclude transmission media. As usedherein, when the phrase “at least” is used as the transition term in apreamble of a claim, it is open-ended in the same manner as the term“comprising” is open ended. Also, as used herein, the terms “computerreadable” and “machine readable” are considered equivalent unlessindicated otherwise.

An example program 800 including example machine readable instructionsthat may be executed to implement the example meter 125 of FIGS. 1, 2A-Cand/or 4 is represented by the flowchart shown in FIG. 8 . Forconvenience and without loss of generality, execution of the exampleprogram 800 is described in the context of the example meter 125 of FIG.4 monitoring the example mobile platform 105 in the example environmentof use 100 of FIGS. 1 and 2A-C. With reference to the preceding figuresand associated written descriptions, the example program 800 of FIG. 8begins execution at block 805 at which the example message detector 405of the meter 125 monitors messages, such as HTTP messages, originated byand to be sent from the mobile platform 105, as described above. Atblock 810, the message detector 405 detects, as described above, one ormore messages associated with adaptive bitrate streaming, such as HTTPGET messages including adaptive bitrate streaming URLs. At block 815,the example URL reporter 410 included in the meter 125 logs, asdescribed above, the adaptive bitrate streaming URL(s) included in themessage(s) detected at block 810. At block 820, the URL reporter 410reports the adaptive bitrate streaming URL(s) logged at block 815 to anAME server, such as the AME server 130. If monitoring of the mobileplatform 105 is to continue (block 825), the processing at block 805-820repeats. Otherwise, execution of the example program 800 ends.

An example program 900 including example machine readable instructionsthat may be executed to implement the example proxy server 325 of FIGS.3 and/or 5 is represented by the flowchart shown in FIG. 9 . Forconvenience and without loss of generality, execution of the exampleprogram 900 is described in the context of the example proxy server 325of FIG. 5 operating in the example environment of use 300 of FIG. 3 .With reference to the preceding figures and associated writtendescriptions, the example program 900 of FIG. 9 begins execution atblock 905 at which the example message detector 505 of the proxy server325 monitors messages, such as HTTP messages, received from mobileplatforms, such as the mobile platform 105, as described above. At block910, the message detector 505 detects, as described above, one or moremessages associated with adaptive bitrate streaming, such as HTTP GETmessages including adaptive bitrate streaming URLs. At block 915, theexample URL reporter 510 included in the proxy server 325 logs, asdescribed above, the adaptive bitrate streaming URL(s) included in themessage(s) detected at block 910. At block 920, the URL reporter 510reports the adaptive bitrate streaming URL(s) logged at block 915 to anAME server, such as the AME server 130. If monitoring of messages is tocontinue (block 925), the processing at block 905-920 repeats.Otherwise, execution of the example program 900 ends.

An example program 1000 including example machine readable instructionsthat may be executed to implement the example AME server 130 of FIGS.1-3 and/or 6 is represented by the flowchart shown in FIG. 10 . Forconvenience and without loss of generality, execution of the exampleprogram 1000 is described in the context of the example AME server 130of FIG. 6 operating in the example environments of use 100 and/or 300 ofFIGS. 1-3 . With reference to the preceding figures and associatedwritten descriptions, the example program 1000 of FIG. 10 beginsexecution at block 1005 at which the example URL collector 605 of theAME server 130 collects, as described above, monitored adaptive bitratestreaming URLs reported by meter(s), such as the example meter 125,and/or proxy server(s), such as the example proxy server 325, operatingin the example environments of use 100 and/or 300. At block 1010, theURL collector 605 accesses one or more collected adaptive bitratestreaming URLs and provides the URL(s) to the example provider datarequestor 610 of the AME server 130, which includes the adaptive bitratestreaming URL(s), or contents thereof, in one or more requests forprovider information sent to a service provider’s OSS, such as theexample OSS 135, as described above. At block 1015, the provider datarequestor 610 receives one or more responses from the service provider’sOSS, such as the example OSS 135, including provider data, such asnetwork log information, subscriber demographic data, etc.,corresponding to the adaptive bitrate streaming URL(s) that was(were)the subject of the request(s) sent at block 1010. At block 1020, theexample ratings monitor 620 of the AME server 130 determines ratingsdata, as described above, to monitor presentation of media (e.g., mediaimpressions) on mobile platform(s), such as the mobile platform 105, inthe environments of use 100 and/or 300 using the provider data receivedat block 1015. For example, and as described in further detail above,the ratings monitor 620 may combine the provider data received at block1015 with media identification data determined by the example mediaidentifier 615 included in the AME server 130 to determine the ratingsdata at block 1020. If monitoring is to continue (block 1025), theprocessing at block 1005-1020 repeats. Otherwise, execution of theexample program 1000 ends.

An example program 1100 including example machine readable instructionsthat may be executed to implement the example OSS 135 of FIGS. 1-3and/or 7 is represented by the flowchart shown in FIG. 11 . Forconvenience and without loss of generality, execution of the exampleprogram 1100 is described in the context of the example OSS 135 of FIG.7 operating in the example environments of use 100 and/or 300 of FIGS.1-3 . With reference to the preceding figures and associated writtendescriptions, the example program 1100 of FIG. 11 begins execution atblock 1105 at which the example AME request interface 705 of the OSS 135receives one or more requests from an AME server, such as the AME server130, for service provider data corresponding to adaptive bitratestreaming URL(s) specified in the requests, as described above. At block1110, the example server querier 710 of the OSS 135 queries, asdescribed above, the example network log server 140 of the OSS 135 fornetwork information corresponding to the adaptive bitrate streamingURL(s) specified in the request(s) received at block 1105. At block1115, the server querier 710 queries, as described above, the examplesubscriber database server 145 of the OSS 135 for subscriber demographicdata corresponding to the adaptive bitrate streaming URL(s) specified inthe request(s) received at block 1105. As described above, therequest(s) received at block 1105 may include time(s) and/or timerange(s) associated with the specified adaptive bitrate streamingURL(s), which may be used to focus the queries of the network log server140 and/or the subscriber database server 145. At block 1120, theexample provider data reporter 715 of the processes the network loginformation retrieved at block 1110 and/or the subscriber demographicdata retrieved at block 1115 to omit personal information and therebyprotect the privacy of the service provider’s customers/subscribers. Atblock 1125, the provider data reporter 715 returns the resulting serviceprovider information determined at block 1120 to the requesting AMEserver in one or more responses sent via the AME request interface 705.Execution of the example program 1100 then ends.

FIG. 12 is a block diagram of an example processor platform 1200 capableof executing the instructions of FIGS. 8-11 to implement the system 102,the example system 302, the example mobile platform 105, the exampleaccess network 110, the Internet 115, the example streaming media server120, the example meter 125, the example AME server 130, the example OSS135, the example network log server 140, the example subscriber databaseserver 145, the example proxy server 325, the example message detector405, the example URL reporter 410, the example message detector 505, theexample URL reporter 510, the example URL collector 605, the exampleprovider data requestor 610, the example media identifier 615, theexample ratings monitor 620, the example AME request interface 705, theexample server querier 710 and/or the example provider data reporter 715of FIGS. 1-7 . The processor platform 1200 can be, for example, aserver, a personal computer, a mobile device (e.g., a cell phone, asmart phone, a tablet such as an iPad™), a personal digital assistant(PDA), an Internet appliance, a DVD player, a CD player, a digital videorecorder, a Blu-ray player, a gaming console, a personal video recorder,a set top box a digital camera, or any other type of computing device.

The processor platform 1200 of the illustrated example includes aprocessor 1212. The processor 1212 of the illustrated example ishardware. For example, the processor 1212 can be implemented by one ormore integrated circuits, logic circuits, microprocessors or controllersfrom any desired family or manufacturer.

The processor 1212 of the illustrated example includes a local memory1213 (e.g., a cache). The processor 1212 of the illustrated example isin communication with a main memory including a volatile memory 1214 anda non-volatile memory 1216 via a link 1218. The link 1218 may beimplemented by a bus, one or more point-to-point connections, etc., or acombination thereof. The volatile memory 1214 may be implemented bySynchronous Dynamic Random Access Memory (SDRAM), Dynamic Random AccessMemory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or anyother type of random access memory device. The non-volatile memory 1216may be implemented by flash memory and/or any other desired type ofmemory device. Access to the main memory 1214, 1216 is controlled by amemory controller.

The processor platform 1200 of the illustrated example also includes aninterface circuit 1220. The interface circuit 1220 may be implemented byany type of interface standard, such as an Ethernet interface, auniversal serial bus (USB), and/or a PCI express interface.

In the illustrated example, one or more input devices 1222 are connectedto the interface circuit 1220. The input device(s) 1222 permit(s) a userto enter data and commands into the processor 1212. The input device(s)can be implemented by, for example, an audio sensor, a microphone, acamera (still or video), a keyboard, a button, a mouse, a touchscreen, atrack-pad, a trackball, a trackbar (such as an isopoint), a voicerecognition system and/or any other human-machine interface. Also, manysystems, such as the processor platform 1200, can allow the user tocontrol the computer system and provide data to the computer usingphysical gestures, such as, but not limited to, hand or body movements,facial expressions, and face recognition

One or more output devices 1224 are also connected to the interfacecircuit 1220 of the illustrated example. The output devices 1224 can beimplemented, for example, by display devices (e.g., a light emittingdiode (LED), an organic light emitting diode (OLED), a liquid crystaldisplay, a cathode ray tube display (CRT), a touchscreen, a tactileoutput device, a printer and/or speakers). The interface circuit 1220 ofthe illustrated example, thus, typically includes a graphics drivercard, a graphics driver chip or a graphics driver processor.

The interface circuit 1220 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem and/or network interface card to facilitate exchange of data withexternal machines (e.g., computing devices of any kind) via a network1226 (e.g., an Ethernet connection, a digital subscriber line (DSL), atelephone line, coaxial cable, a cellular telephone system, etc.).

The processor platform 1200 of the illustrated example also includes oneor more mass storage devices 1228 for storing software and/or data.Examples of such mass storage devices 1228 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, RAID(redundant array of independent disks) systems, and digital versatiledisk (DVD) drives.

Coded instructions 1232 corresponding to the instructions of FIGS. 8-11may be stored in the mass storage device 1228, in the volatile memory1214, in the non-volatile memory 1216, in the local memory 1213 and/oron a removable tangible computer readable storage medium, such as a CDor DVD 1236.

Although certain example methods, apparatus and articles of manufacturehave been disclosed herein, the scope of coverage of this patent is notlimited thereto. On the contrary, this patent covers all methods,apparatus and articles of manufacture fairly falling within the scope ofthe claims of this patent.

What is claimed is:
 1. A mobile platform comprising: at least onememory; instructions; and processor circuitry to execute theinstructions to at least: detect an outgoing message to be sent by themobile platform to stream media in accordance with an online streamingprotocol; associate resource identifier information included in theoutgoing message with a time value; transmit the outgoing message to afirst server to cause the media to be streamed to the mobile platform;and transmit the resource identifier information and the time value to asecond server different from the first server to cause a mediaimpression associated with the mobile platform to be monitored.
 2. Themobile platform of claim 1, wherein the processor circuitry is to detectthe resource identifier information based on at least one of a keywordor a text string.
 3. The mobile platform of claim 1, wherein theprocessor circuitry is to search for a pattern of uniform resourcelocators (URLs) in successive ones of a plurality of outgoing messagesto detect the resource identifier information.
 4. The mobile platform ofclaim 3, wherein the pattern corresponds to a common domain namereferenced by the URLs in the successive ones of the outgoing messages.5. The mobile platform of claim 3, wherein the pattern corresponds tothe successive ones of the outgoing messages being spaced apart by aduration associated with the online streaming protocol.
 6. The mobileplatform of claim 1, wherein the processor circuitry is to: log theresource identifier information in the at least one memory; and transmitthe resource identifier information and the time value to the secondserver when a condition is met.
 7. The mobile platform of claim 1,wherein the time value is to indicate when the outgoing message wasdetected.
 8. A media monitoring apparatus comprising: at least onememory; instructions; and processor circuitry to execute theinstructions to at least: access, at a first server, resource identifierinformation collected by a meter that is to execute on a mobileplatform, the resource identifier information to be collected from anoutgoing message to be sent by the mobile platform to a second server tostream media according to an online streaming protocol, the outgoingmessage including the resource identifier information, the resourceidentifier information received at the first server in a report to besent from the meter on the mobile platform, the first server differentfrom the second server to which the mobile platform is to send theoutgoing message to stream the media; request network log informationcorresponding to the resource identifier information from a serviceprovider that is to provide network access for the mobile platform; andmonitor presentation of the media on the mobile platform using thenetwork log information.
 9. The media monitoring apparatus of claim 8,wherein the network log information includes at least one of a timestampcorresponding to when the outgoing message including the resourceidentifier information was logged by the service provider, or locationinformation specifying a location of the mobile platform at a time whenthe outgoing message including the resource identifier information waslogged by the service provider.
 10. The media monitoring apparatus ofclaim 8, wherein to request the network log information, the processorcircuitry is to send, to the service provider, a request including theresource identifier information and a time range associated with whenthe outgoing message including the resource identifier information wasdetected.
 11. The media monitoring apparatus of claim 8, wherein theoutgoing message is a first outgoing message, the resource identifierinformation is first resource identifier information, and the processorcircuitry is to: request, from the service provider, network loginformation corresponding to other resource identifier informationincluded in subsequent outgoing messages originated by the mobileplatform to stream the media according to the online streaming protocol;and determine ratings data associated with the presentation of the mediaon the mobile platform using the network log information correspondingto the first resource identifier information and the network loginformation corresponding to the other resource identifier information,the ratings data to have a time granularity corresponding to timeintervals between media segments of the media identified by the firstoutgoing message and the subsequent outgoing messages.
 12. The mediamonitoring apparatus of claim 8, wherein the processor circuitry is toobtain demographic information, in addition to the network loginformation, in response to providing the resource identificationinformation to the service provider.
 13. The media monitoring apparatusof claim 12, wherein the network log information and the demographicinformation omit personal information related to a subscriber associatedwith the mobile platform.
 14. The media monitoring apparatus of claim 8,wherein the processor circuitry is to combine the network loginformation with media identification information associated with theresource identification information to monitor the presentation of themedia on the mobile platform.
 15. A media monitoring apparatuscomprising: at least one memory; instructions; and processor circuitryto execute the instructions to at least: access a request from a firstserver of an audience measurement entity (AME), the request for networklog information corresponding to a resource identifier informationincluded in an outgoing message sent by a mobile platform to a secondserver to request delivery of media according to an online streamingprotocol; query a third server of a service provider to retrieve thenetwork log information corresponding to the resource identifierinformation from the third server, the service provider to providenetwork access for the mobile platform; and return the network loginformation to the first server of the AME in response to the request.16. The media monitoring apparatus of claim 15, wherein the network loginformation includes at least one of a timestamp corresponding to whenthe outgoing message including the resource identifier information waslogged by the service provider, or location information specifying alocation of the mobile platform at a time when the outgoing messageincluding the resource identifier information was logged by the serviceprovider.
 17. The media monitoring apparatus of claim 15, whereinprocessor circuitry is to omit personal information related to asubscriber associated with the mobile platform from the network loginformation before returning the network log information to the firstserver of the AME.
 18. The media monitoring apparatus of claim 15,wherein the request includes the resource identifier information and atime range associated with when the outgoing message including theresource identifier information was detected by a meter on the mobileplatform, the meter to report the resource identifier information to thefirst server of the AME.
 19. The media monitoring apparatus of claim 18,wherein the processor circuitry is to: query the third server using theresource identifier information and the time range; obtain, in responseto the query, a timestamp corresponding to when the outgoing messageincluding the resource identifier information was logged by the serviceprovider; and obtain, in response to the query, location informationspecifying a location of the mobile platform at a time when the outgoingmessage including the resource identifier information was logged by theservice provider.
 20. The media monitoring apparatus of claim 15,wherein the processor circuitry is to: query a database to obtaindemographic information, in addition to the network log information,corresponding to the resource identifier information; and forward thedemographic information, in addition to the network log information, tothe first server of the AME.
 21. The media monitoring apparatus of claim20, wherein the processor circuitry is to omit personal informationrelated to a subscriber associated with the mobile platform from thedemographic information before forwarding the demographic information tothe first server of the AME.